package com.crm.service.memberManager;

import com.crm.model.entity.memberManager.CustomerMemberCard;
import com.crm.model.entity.memberManager.CustomerMemberCardOld;
import com.crm.model.qo.memberManager.MemberShipCardQO;
import com.crm.model.vo.memberManager.MemberCardOldVO;
import com.crm.model.vo.memberManager.MemberShipCardListVO;

import java.util.List;

/**
 * @author luojie
 * @date 2021/4/8 14:14
 */
public interface MemberCardDbService {

    /***
     * @Description: 查询会员卡列表
     * @Param: 查询条件
     * @Author: luojie
     * @Date: 2021/4/8 14:58
     */
    List<MemberShipCardListVO> selectMemberShipCardList(MemberShipCardQO memberShipCardQO);

    /**
     * 从会员卡表随机取一个未发放的会员卡
     * @return
     */
    CustomerMemberCard selectMemberShipCard();

    /**
     * 修改会员卡信息
     * @param customerMemberCard 会员卡实体
     * @return
     */
    Boolean updateCustomerMemberCard(CustomerMemberCard customerMemberCard);

    /**
     * 会员卡插入信息
     * @param customerMemberCard
     * @return
     */
    Boolean insertMemberCard(CustomerMemberCard customerMemberCard);

    /***
     * @Description:根据会员卡卡号查询会员卡是否重复
     * @Param: memberCardNumber 会员卡卡号
     * @Author: luojie
     * @Date: 2021/6/7 16:17
     */
    CustomerMemberCard selectMemberShipCardIsRepeat(String memberCardNumber);

    /***
     * @Description: 查询旧系统会员卡列表
     * @Param:
     * @Author: luojie
     * @Date: 2021/4/8 13:41
     */
    List<MemberCardOldVO> selectMemberCardOldList(MemberShipCardQO memberShipCardQO);

    /***
     * @Description: 查询旧系统公司名称
     * @Param:
     * @Author: luojie
     * @Date: 2021/4/8 13:41
     */
    List<MemberCardOldVO> getCompanyList();

    /**
     * 查询会员卡开始时间和结束时间为空的
     * @return
     */
    List<MemberCardOldVO> selectCardDate();
}
